package com.modele.entity;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;


public class Groupe {

	private int idGroupe;
	private String nomGroupe;
	private int nbUser;
	private String horaireRepas;
	private String horaireLimite;
	private String dateCreation;
	private boolean aEmporter;
	private int idChefGroupe;
	private ArrayList <Utilisateur> listeUt;
	private int idRestaurant;
	private Restaurant restaurant;
	
	public Groupe (String nomGroupe, String horaireRepas, boolean aEmporter, Utilisateur createur) {
		this.setNomGroupe(nomGroupe);
		this.setHoraireRepas(horaireRepas);
		this.setaEmporter(aEmporter);
		this.nbUser = 1;
		this.idChefGroupe = createur != null ? createur.getIdUser() : 0;
		this.idRestaurant = -1;
		this.restaurant = null;
	}
	
	public Groupe () {
		this.setNomGroupe("");
		this.setHoraireRepas("");
		this.setaEmporter(false);
		this.nbUser = 0;
		this.idChefGroupe = 0;
	}

	public void setDateCreation () {
		DateFormat dateFormat = new SimpleDateFormat("h:mm");
        Date date = new Date();
        dateCreation = dateFormat.format(date);
	}
	
	public void setDateCreation (String date) {
        this.dateCreation = date;
	}
	
	public String getNomGroupe() {
		return nomGroupe;
	}

	public void setNomGroupe(String nomGroupe) {
		this.nomGroupe = nomGroupe;
	}

	public int getNbUser() {
		return nbUser;
	}

	public void setNbUser(int nbUser) {
		this.nbUser = nbUser;
	}

	public String getHoraireRepas() {
		return horaireRepas;
	}

	public void setHoraireRepas(String horaireRepas) {
		this.horaireRepas = horaireRepas;
	}

	public String getHoraireLimite() {
		return horaireLimite;
	}

	public void setHoraireLimite(String horaireLimite) {
		this.horaireLimite = horaireLimite;
	}

	public boolean isaEmporter() {
		return aEmporter;
	}

	public void setaEmporter(boolean aEmporter) {
		this.aEmporter = aEmporter;
	}

	public String getDateCreation() {
		return dateCreation;
	}

	public void addUser (Utilisateur nouveau) {
		StringBuilder sb = new StringBuilder("");
		sb.append(nouveau.getNom() + " ");
		sb.append(nouveau.getPrenom());
		nbUser++;
	}

	public int getIdChefGroupe() {
		return idChefGroupe;
	}
	
	public int getIdChefGroupeUt() {
		return this.idChefGroupe;
	}

	public void setIdChefGroupe(int idChefGroupe) {
		this.idChefGroupe = idChefGroupe;
	}

	public int getIdRestaurant() {
		return idRestaurant;
	}

	public void setIdRestaurant(int restaurant) {
		this.idRestaurant = restaurant;
	}

	public void setIdGroupe(int idGroupe) {
		this.idGroupe = idGroupe;
	}

	public int getIdGroupe() {
		return idGroupe;
	}
	
	public ArrayList <Utilisateur> getListeUtilisateursGrp (){
		return this.listeUt;
	}
	
	public void setListeUtilisateursGrp (ArrayList <Utilisateur> listeUt){
		this.listeUt = listeUt;
	}
	
	public Restaurant getRestaurant () {
		return this.restaurant;
	}
	
	public void setRestaurant(Restaurant restaurant)
	{
		this.restaurant = restaurant;
	}
	
}
